home *** CD-ROM | disk | FTP | other *** search
/ Windows Expert / Windows Expert.iso / windownt / wvnsrc75.zip / WINVN.H < prev    next >
C/C++ Source or Header  |  1993-02-03  |  10KB  |  250 lines

  1. #define ID_ABOUT 100
  2.  
  3. int PASCAL WinMain(HANDLE, HANDLE, LPSTR, int);
  4. BOOL WinVnInit(HANDLE);
  5.  
  6. /* (SMR) Changed parameter lists to conform with 3.1 windows.h. */
  7. long FAR PASCAL WinVnConfWndProc(HWND, UINT, WPARAM, LPARAM);
  8. long FAR PASCAL WinVnViewWndProc(HWND, UINT, WPARAM, LPARAM);
  9. long FAR PASCAL WinVnArtWndProc(HWND, UINT, WPARAM, LPARAM);
  10.  
  11. BOOL GetMemo(HWND, HWND, int);
  12. BOOL FAR PASCAL About(HWND, unsigned, WORD, LONG);
  13. BOOL FAR PASCAL WinVnCommDlg(HWND, unsigned, WORD, LONG);
  14. BOOL FAR PASCAL WinVnSaveArtDlg(HWND hDlg,unsigned  iMessage,WORD wParam,LONG lParam);
  15. BOOL FAR PASCAL WinVnFindDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
  16. BOOL FAR PASCAL WinVnSubjectDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
  17. BOOL FAR PASCAL WinVnAuthDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
  18. BOOL FAR PASCAL WinVnDoListDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
  19. BOOL FAR PASCAL WinVnPersonalInfoDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
  20. BOOL FAR PASCAL WinVnMiscDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
  21. BOOL FAR PASCAL WinVnAppearanceDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
  22. BOOL WritePrivateProfileInt(char far *lpAppName,char far *lpKeyName,int intval, char far *lpProFile);
  23.  
  24. void ForAllLines(TypDoc *Doc,
  25.    void lpfnFunc(TypDoc *Doc, TypBlock far **BlockPtr, TypLine far **LinePtr, int wFlag, int wValue),
  26.    int wFlag, int wValue);
  27. void SetLineFlag(TypDoc *Doc, TypBlock far **BlockPtr, TypLine far **LinePtr, int wFlag, int wValue);
  28. void GroupAction(TypDoc *Doc, TypBlock far **BlockPtr, TypLine far **LinePtr, int wFlag, int wValue);
  29.  
  30.  
  31. VOID CheckView(HWND);
  32. long FileLength(HANDLE);
  33. BOOL MoreInit(void);
  34. BOOL MainLoopPass(void);
  35. void MakeHelpPathName(char * szFileName, int maxchars);
  36.  
  37. void DoCommInput(void);
  38. int WinVnDoComm(char *szComm);
  39. char *CommStrtoID(char *CommStr,int *Port, int *Parity,char *szSpeed);
  40. int  ReadNewsrc(void);
  41. void WriteNewsrc(void);
  42. void SetNetDocTitle(void);
  43. void MoveCursor();
  44. BOOL CursorToTextLine(int X,int Y,TypDoc *DocPtr,TypBlock far **BlockPtr,
  45.   TypLine far **LinePtr);
  46. void ViewArticle(TypDoc *Doc, long artindex ,BOOL Reuse);
  47. void UnlinkArtsInGroup(TypDoc *GroupDoc);
  48. void UpdateSeenArts(TypDoc *Doc);
  49.  
  50. int CommIDtoStr(int Port, int Parity,char *szSpeed,char *CommStr);
  51.  
  52. int NewBlock(TypBlock far *CurBlockPtr, TypBlock far **NewBlockPtr);
  53. void SetupEmptyBlock(TypBlock far *BlockPtr,HANDLE hCur, HANDLE hPrev,
  54.   HANDLE hNext,TypDoc *DocPtr);
  55. BOOL DeleteBlock(TypBlock far **CurBlockPtr, TypLine far **CurLinePtr);
  56. int AddLine(TypLine *LineToAdd,TypBlock far **CurBlockPtr,TypLine far **CurAddPtr);
  57. BOOL ReplaceLine(TypLine *LineToAdd,TypBlock far **CurBlockPtr,TypLine far **CurLinePtr);
  58. BOOL DeleteLine(TypBlock far **CurBlockPtr, TypLine far **CurLinePtr);
  59. int NextLine(TypBlock far **BlockPtr,TypLine far **LinePtr);
  60. int PrevLine(TypBlock far **BlockPtr,TypLine far **LinePtr);
  61. int FindString(BOOL StartAtTop);
  62. int NumBlocksInDoc(TypDoc *Doc);
  63.  
  64. BOOL FindLineOrd(TypDoc *Doc,unsigned int LineOrd,TypBlock far **BlockPtr,TypLine  far **LinePtr);
  65. int SearchLine(char *Line,int LineLen,char *Target,int TargLen);
  66. BOOL DoFind(BOOL StartAtTop);
  67. void TopOfDoc(TypDoc *Doc,TypBlock far **BlockPtr,TypLine far **LinePtr);
  68. BOOL ExtractTextLine(TypDoc *Doc,TypLine far *LinePtr,char *Buf,int  BufSize);
  69. BOOL LockLine(HANDLE hBlock,unsigned int LineOff,TypLineID FindLineID,
  70.   TypBlock far **BlockPtr,TypLine far **LinePtr);
  71. void UnlockLine(TypBlock far *BlockPtr,TypLine far *LinePtr,
  72.   HANDLE *hBlock,unsigned int *LineOff,TypLineID *TheLineID);
  73. void PtrToOffset(TypBlock far *BlockPtr,TypLine far *LinePtr,
  74.   HANDLE *hBlock,unsigned int *LineOff,TypLineID *TheLineID);
  75. unsigned int WhatLine(TypBlock far *BlockPtr,TypLine far *LinePtr);
  76. void MoveBytes(void far *Source, void far *Target,int NumBytes);
  77. int InitDoc(TypDoc *Doc,HWND   hWnd,TypDoc *Parent,int DType);
  78. void FreeDoc(TypDoc *Doc);
  79. int mylstrncmp(char far *ptr1,char far *ptr2,int len);
  80. char far *mylstrncpy(char far *ptr1,char far *ptr2, int len);
  81.  
  82. BOOL CrackGroupLine(char *buf,TypLine *lineptr);
  83.  
  84. void ScreenDown(int nLines,int LinesOnScreen,TypBlock far **BlockPtr,
  85.  TypLine far **LinePtr,int *LinesAdvanced);
  86. void ScreenUp(int nLines,TypBlock far **BlockPtr,TypLine far **LinePtr,
  87.  int *LinesBackedUp);
  88. void ScrollIt(TypDoc *Document,WORD wParam,DWORD lParam);
  89. void NewScrollIt(TypDoc *Document,WORD wParam,DWORD lParam);
  90. int LineOnScreen(TypDoc *Doc,HANDLE hTargBlock,unsigned int TargOffset,TypLineID TargLineID);
  91. void NextWindow(TypDoc *Doc);
  92. void AdjustTopSc(TypBlock far *BlockPtr,TypLine far *LinePtr);
  93. void ScreenToTop(TypDoc *Doc);
  94.  
  95. HANDLE MRROpenFile(char *FileName,int vRef,int Mode,TypMRRFile **MRRFile);
  96. void MRRCloseFile(TypMRRFile *MRRFile);
  97. int MRRReadLine(TypMRRFile *MRRFile,char *Linebuf,int Len);
  98. BOOL MRRWriteLine(TypMRRFile *MRRFile,char far *Linebuf,int Len);
  99. BOOL MRRWriteDocument(TypDoc *Document,int Offset,char *szFileName,int vRef,BOOL Append);
  100.  
  101. BOOL GetNum(char **ptr,long int *num);
  102. DWORD StrToRGB(char *cstring);
  103. void DoCommInput(void);
  104. void DoCommState(void);
  105. BOOL WasArtSeen(long int ArtNum,TypGroup far *GroupPtr);
  106.  
  107. /* in file wvheader.c */
  108. BOOL GetHeaderLine(TypDoc *Doc,char *Prefix,char *Buf,int  BufLen);
  109. BOOL MakeArtHeaderSubject(TypDoc *Doc,char   *Buf,long int    BufLen);
  110. BOOL MakeArtHeaderMessageID(TypDoc *Doc,char   *Buf,long int    BufLen);
  111. BOOL MakeArtHeaderReferences(TypDoc *Doc,char   *Buf,long int    BufLen);
  112. BOOL MakeArtHeaderDate(TypDoc *Doc,char   *Buf,long int    BufLen);
  113. BOOL MakeArtHeaderFrom(TypDoc *Doc,char   *Buf,long int    BufLen);
  114. BOOL MakeArtHeaderTo(TypDoc *Doc,char   *Buf,long int    BufLen);
  115. BOOL MakeArtHeaderNewsgroups(TypDoc *Doc,char   *Buf,long int    BufLen);
  116. BOOL MakeArtHeaderOrganization(TypDoc *Doc,char   *Buf,long int    BufLen);
  117. BOOL MakeArtHeaderNewsreader(TypDoc *Doc,char   *Buf,long int    BufLen);
  118. BOOL MakeArtBody(TypDoc *Doc,char far **MesBuf,long int  *left, int DocType);
  119. int  CompareStringNoCase(char *str1,char *str2,int slen);
  120. void CopyBuf(char *instr,char **buf,long int *left);
  121. BOOL NextToken(char **cptr);
  122. void AppendTextToEditBuf(char *instr,char far **buf,long int *left);
  123. HWND CreatePostingWnd(TypDoc *Doc,int DocType);
  124. BOOL CreatePostingText(TypDoc *Doc,HWND hWndPost,HWND hWndEdit,int DocType);
  125. BOOL IsLineBlank(char far *line);
  126.  
  127. /* In file WVPOST.C */
  128. long FAR PASCAL WinVnPostWndProc(HWND, UINT, WPARAM, LPARAM);
  129. BOOL StartPost(int ih);
  130. BOOL PostText(int ih,int DocType);
  131.  
  132. /* In file WVPOST.C */
  133. long FAR PASCAL WinVnMailWndProc(HWND, UINT, WPARAM, LPARAM);
  134. BOOL StartMail(int ih);
  135.  
  136. /* In file WVAUTH.C */
  137. BOOL AuthenticatePosting(void);
  138.  
  139. int SetupSock(void);
  140. void PutCommLine(char *line,unsigned int nchars);
  141. int MRRReadComm(void);
  142. void MRRCloseComm(void);
  143. int MRRInitComm(void);
  144.  
  145. /* In file WVLIST.C */
  146. void StartList(void);
  147. void ProcListLine(unsigned char *ListLine);
  148. void AddGroupToTable(char far *GroupLine);
  149. void InitGroupTable(void);
  150. unsigned int HashGroup(unsigned char far *gname);
  151. void HashNetGroups(TypDoc *Doc,TypLine far * far * HashTable);
  152. void ProcEndList(void);
  153. int GroupCompare(TypLine const far * far *g1,TypLine const far * far *g2);
  154. BOOL FAR PASCAL WinVnGroupListDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
  155. void PositionEndSubscribed(TypBlock far **BlockPtr, TypLine far **LinePtr);
  156. void MergeGroups(int WhereSubscribed);
  157. void CleanUpGroupTable(void);
  158.  
  159.  
  160. #if 0
  161. /* In file FASTQSRT.C */
  162. void __far __cdecl fastQSort(void far *base, size_t n, size_t size, 
  163.    int (__far __cdecl *cmpFn)(const void far *, const void far *));
  164. #endif
  165.  
  166. void ShellSort (void *,
  167.               size_t, size_t,
  168.                   int (*compare)
  169.                             (TypLine const * *, TypLine const * *));
  170.  
  171. /* void IncPtr(void **ptr,int incval); */
  172.  
  173. #ifdef MAC
  174. extern TEHandle WndToTEH();
  175. #endif
  176.  
  177. #define     IDM_UNDO             8
  178. #define     IDM_CUT              9
  179. #define     IDM_COPY             10
  180. #define     IDM_PASTE            11
  181. #define     IDM_CLEAR            12
  182. #define     IDM_SELALL           13
  183.  
  184. #define     IDM_SHOW_SUBSCR        101
  185. #define     IDM_SHOW_ALL_GROUP     102
  186. #define     IDM_VIEW_SEL_GROUP     103
  187. #define     IDM_SEL_SUBSCR         104
  188. #define     IDM_UNSEL_ALL          105
  189. #define     IDM_EXIT               106
  190. #define     IDM_QUIT               107
  191. #define     IDM_GROUP_TOP          108
  192.  
  193. #define     IDM_SELECTALL          IDM_SELALL
  194. #define     IDM_CLEARALL           IDM_CLEAR
  195.  
  196. #define     IDM_SUBSCRIBE          130
  197. #define     IDM_UNSUBSCRIBE        131
  198.  
  199. #define     IDM_COMMOPTIONS        110
  200. #define     IDM_CONFIG_PERSONAL    111
  201. #define     IDM_CONFIG_APPEARANCE  112
  202. #define     IDM_CONFIG_MISC        113
  203.  
  204. #define     IDM_NEW_WIN_GROUP      4
  205. #define     IDM_NEW_WIN_ARTICLE    5
  206.  
  207. #define     IDM_EDIT               114
  208. #define     IDM_EXCLUDE            115
  209. #define     IDM_DELETE             116
  210. #define     IDM_NEW                117
  211.  
  212. #define     IDM_VIEWNEW            122
  213. #define     IDM_VIEWFULL           123
  214.  
  215. #define     IDM_SESSION            130
  216. #define     IDM_RESET              140
  217.  
  218. #define     IDM_HELP               150
  219.  
  220. #define     IDV_APPEND             201
  221. #define     IDV_EDIT               202
  222. #define     IDV_FORGET             203
  223.  
  224. #define     IDV_CREATE             204
  225. #define     IDV_NEXT               205
  226.  
  227. #define     IDV_EXIT               206
  228.  
  229. #define     IDM_NEXT_ARTICLE       401
  230. #define     IDM_NEXT_SAME_SUBJECT  402
  231.  
  232. #define     IDM_FOLLOWUP         420
  233.  
  234. #define     IDM_SAVE             410
  235. #define     IDM_SAVEAS           411
  236.  
  237. #define     IDM_FIND             450
  238. #define     IDM_FIND_NEXT_SAME   451
  239. #define     IDM_SEARCH         452
  240. #define     IDM_SEARCH_NEXT      453
  241.  
  242. #define     IDM_POST             470
  243. #define     IDM_CANCEL           471
  244.  
  245. #define     IDM_MAIL             480
  246. #define     IDM_REPLY            485
  247.  
  248. /*-- Dialog box constants -- */
  249. #include "wvdlg.h"
  250.